package poly_exercise;

public class PolyExercise02 {
    public static void main(String[] args) {
        Sub sub = new Sub();//编译类型Sub
        System.out.println(sub.count);//20
        sub.display();//20

        Base b = sub;//让父类的一个引用指向子类的一个对象
        System.out.println(b == sub);//true
        //判断的是它们两个的地址，sub和b都指向sub这个具体的对象，地址相同
        System.out.println(b.count);//10
        //由于属性没有重写的说法,访问属性看编译类型
        b.display();//20
        //编译类型Base,运行类型Sub,查找方法时从运行类型开始查找
    }
}
class Base{
    int count = 10;
    public void display(){
        System.out.println(this.count);//10
    }
}

class Sub extends Base{
    int count = 20;
    public void display(){
        System.out.println(this.count);//20
    }
}
